import Vue from 'vue';
import $ from 'public/libs/zepto';
import VueLazyload from 'vue-lazyload'
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import 'normalize.css';
import 'public/style/base.css';
import axios from "axios"
import Interface from "./GlobalData"
import Utils from "public/libs/Utils"

Vue.config.productionTip = false
Vue.prototype.$http=axios;
Vue.prototype.Axios=axios;
Vue.prototype.Interface=Interface;
Vue.prototype.Uitis=Utils;
window.APP = Utils;

//懒加载
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: require("public/imgs/appad_loading.png"),
  loading: require('public/imgs/appad_loading.png'),
  attempt: 1
});

import { Toast, Indicator } from 'mint-ui';

Vue.use(MintUI);

// Axios 请求拦截器
axios.interceptors.request.use(function (config) {
	// 在发送请求之前做些什么
	Indicator.open('加载中...');
	return config;
}, function (error) {
	// 对请求错误做些什么
	Toast("请求过程中发生了错误");
	console.log("请求过程发生的错误消息：" + error);
	return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
	Indicator.close();
	// 对响应数据做点什么
	try {
		if (typeof (response.data.data) == "string") {
			var Data = JSON.parse(response.data.data);
			response.data.data = Data
		}
	} catch (e) {
		Toast("处理返回的数据发生异常~");
	}
	return response;
}, function (error) {
	// 对响应错误做点什么
	Indicator.close();
	// Toast("返回数据过程中发生了错误~");
	console.log("错误消息：" + error);
	return Promise.reject(error);
});


// 暴露实例化的内容
export default (Index) => {
	// 实例化VUE
	new Vue({
		el: "#app",
		template: "<Index/>",
		components: {
			Index
		}
	});
};
